import type { MenuProps } from 'antd';
import type { DropdownProps as AntDropdownProps } from 'antd/es/dropdown';
import type { FC } from 'react';

export interface DropdownItemProps {
  /** 下拉菜单项的内容 */
  title?: React.ReactNode;
  /** 点击事件 */
  onClick?: (e: React.MouseEvent<HTMLAnchorElement | HTMLSpanElement>) => void;
  /** 自定义图标 */
  icon?: React.ReactNode;
  /** 自定义类名 */
  className?: string;
  /** 自定义样式 */
  style?: React.CSSProperties;
}

export interface DropdownProps extends Omit<AntDropdownProps, 'items'> {
  /** 是否使用 antd 原生组件 */
  antNative?: boolean;
  /** 菜单属性 */
  menu?: MenuProps;
}

export interface DropdownComponent extends FC<DropdownProps> {
  Item: FC<DropdownItemProps>;
}
